Website powered by

Golfito Generator HDA

Full help card: http://127.0.0.1:59746/nodes/sop/golfito_garden_generator-2.2

Golfito Generator is a fully procedural Houdini Digital Asset designed to generate complete and customizable mini-golf garden environments. The tool combines terrain generation, environmental simulation, and gameplay elements into a single, modular system, allowing artists to build varied and coherent mini-golf layouts with a high degree of control and minimal manual work.

Terrain
The foundation of the asset is a heightfield-based terrain pipeline. Procedural noise with multiple fractal controls shapes the large-scale forms of the environment, while mask operations handle flattening, blurring, and layer management to define playable areas. The terrain is fully parametric and serves as the base that all other systems read from and react to.

River
The river system combines curve-based path generation with heightfield carving and optional FLIP fluid simulation. The river is projected onto the terrain to carve a natural riverbed, and the simulation can be cached to disk for performance. Once cached, the result can be further refined with whitewater, shading, or converted to VDB for more advanced workflows.

Sand Bunkers
Bunkers are generated procedurally using iterative curve deformation inside a for-each loop, producing naturally irregular silhouettes. The carved terrain is then filled using an MPM simulation, where parameters such as friction angle, cohesion, density, and stiffness allow the sand behavior to range from dry and loose to compact and wet. The simulation can be frozen at any frame for art direction and reuse.

Mini Golf — Paths, Tee Box & Green
The tee box and green use heightfield projection to conform circular platform shapes precisely to the terrain surface, with support for custom geometry inputs for both the ball and flag. The flag uses a Vellum solver to simulate cloth motion driven by wind parameters, with simulation caching built in.
Paths are generated inside a for-each loop supporting four curve types, swept into ribbons and projected onto the terrain using a Ray SOP. Inner and outer edge groups are used to independently control the path surface and side rails, with color applied separately to each.

Bridge
Bridges are fully driven by a custom curve input, with the network running inside a for-each loop to support multiple bridges from a single multi-segment input. Each bridge is assembled from three parallel systems — base structure, railings, and stone walls — built using sweep, polyextrude, polybevel, and polywire operations. Stones are generated procedurally using noise-deformed spheres, with support for custom geometry input and a chain-based instancing workflow.

Rocks
Rocks are placed interactively using a paint-based mask accessible directly from the HDA interface. Scattered points receive randomized normal orientation and scale via attribute randomize nodes, and instances can use low-poly, high-poly, or fully custom geometry. Noise-driven color variation is applied across all instances for a natural look.

Grass
Grass placement is derived entirely from heightfield terrain data — slope, height, curvature, and facing direction combine to generate an automatic mask that suppresses grass wherever other geometry exists. The default grass blade is built from a bent line geometry and can be swapped for any custom input. A noise-driven color ramp adds depth and gradient variation across the grass layer.

Flowers
Four fully modeled flower types — Sunflower, Dandelion, Devils Flower, and Wildflower — are distributed using a weighted attribute system that controls the relative mix of each species across the scatter. Placement areas can be defined automatically from terrain features or painted manually using a Draw_Flowers node accessible from the HDA. Custom geometry input is also supported.

Trees
Tree placement is driven by a HeightField Mask by Noise, producing natural large-scale clustering across the terrain. Three seasonal tree variants — Default, Spring, and Autumn — are each constructed using L-Systems, a grammar-based procedural approach that generates organic branching structures with full control over growth, angle, thickness, and randomness. Leaves are scattered onto tagged branch points and instanced using Copy to Points, keeping the trees visually rich while remaining efficient and pack-ready.